// 环境配置文件
// 用于管理不同环境下的API配置

// 环境类型
export const ENV_TYPES = {
  DEVELOPMENT: 'development',
  PRODUCTION: 'production',
  TEST: 'test'
}

// 当前环境（可以通过process.env.NODE_ENV获取，或手动设置）
export const CURRENT_ENV = process.env.NODE_ENV || ENV_TYPES.DEVELOPMENT

// 不同环境的配置
const ENV_CONFIG = {
  [ENV_TYPES.DEVELOPMENT]: {
    BASE_URL: 'http://localhost:8080/elm', // 开发环境直接请求后端服务器
    TIMEOUT: 10000,
    LOG_LEVEL: 'debug'
  },
  [ENV_TYPES.PRODUCTION]: {
    BASE_URL: 'https://your-production-domain.com/elm',
    TIMEOUT: 15000,
    LOG_LEVEL: 'error'
  },
  [ENV_TYPES.TEST]: {
    BASE_URL: 'http://localhost:8080/elm',
    TIMEOUT: 5000,
    LOG_LEVEL: 'warn'
  }
}

// 获取当前环境配置
export function getCurrentConfig() {
  return ENV_CONFIG[CURRENT_ENV] || ENV_CONFIG[ENV_TYPES.DEVELOPMENT]
}

// 获取API基础URL
export function getBaseURL() {
  return getCurrentConfig().BASE_URL
}

// 获取请求超时时间
export function getTimeout() {
  return getCurrentConfig().TIMEOUT
}

// 获取日志级别
export function getLogLevel() {
  return getCurrentConfig().LOG_LEVEL
}

// 是否为开发环境
export function isDevelopment() {
  return CURRENT_ENV === ENV_TYPES.DEVELOPMENT
}

// 是否为生产环境
export function isProduction() {
  return CURRENT_ENV === ENV_TYPES.PRODUCTION
}

// 是否为测试环境
export function isTest() {
  return CURRENT_ENV === ENV_TYPES.TEST
}

// 导出当前配置
export default getCurrentConfig()